//
//
// Adventure screen handler for the Medicine Wagon
//
// L. Dean Gibson II  2/13/01
//
//

#ifndef ADV_MEDICINE_WAGON_H_INCLUDED
#define ADV_MEDICINE_WAGON_H_INCLUDED

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include <vector>
#include "artifact_type.h"
#include "stationary_adventure_object.h"

// -------------------------------------------------------
// artifact as it appears on the adventure map
// -------------------------------------------------------
class t_adv_medicine_wagon : public t_stationary_adventure_object
{
public:
	t_adv_medicine_wagon(  std::string const& source );
	virtual void		activate_trigger( t_army* army, t_adv_map_point const& point, 
		                                   t_direction direction, t_adventure_frame* frame );
	virtual float		ai_value( t_adventure_ai const& ai, t_creature_array const& army, int move_cost ) const;
	virtual void		initialize( t_adventure_map& map );
	virtual bool        read( std::streambuf&						stream, 
					          t_qualified_adv_object_type const&	type,
					          int									version );
	virtual bool        write( std::streambuf& stream ) const;
private:
	std::vector<t_artifact_type> m_artifact;
};


#endif // ADV_MEDICINE_WAGON_H_INCLUDED